<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        //Promise 对象的catch方法
        // 用于不惑错误或者定义失败状态的回调函数
        // catch方法执行后返回一个新的Promise对象（链式调用）

        let p1 = new Promise((resolve,reject)=>{
            // resolve(123);
            reject(234);
        });
        // P1失败的状态 和 结构会自动往下 传递/穿透
        p1.then(
            (res)=>{
                console.log('p1成功',res)
            },
            (res)=>{
                // throw 123;
                console.log("失败",res);
            }
        )
        .then(
            (res)=>{
                console.log('p2成功',res);
            },
            (res)=>{
                console.log('p2失败',res);
            }
        )
        .catch(
            // 可以捕获前面的错误，也可以作为Promise对象失败的回调函数
            (res)=>{
                console.log("有错或者p1失败",res);
            }
        )
    </script>
</body>
</html>